-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Post flight task for firmware upgrades #139
Conversation
8cdec15
to
c76dbe3
Compare
In what case would you not want to use the post_flight check? I feel like this should always be done, and probably doesn't even need an option to be able to disable it? Maybe the post_waittime doesn't need to be user specified either, it could be something like try once after 5 minutes, and if it fails re-check again every 5 minutes up to a maximum of 30 min or something |
In the case where we do the upgrade in several steps. For example one might want to download the firmware image to all switches during daytime and do the upgrade itself later that night. In that case you want to run pre-flight and download in the first step and later that night run activate, reboot and post-flight. Regarding wait-time, for Arista we can be somewhat sure that a default value of lets say 10 minutes would be good enough. But if we want to support other vendors in the future we definitely want a configurable option here. A good compromise for now might be to give it a default value of 10 minutes. Sure, I can implement some logic for re-trying - or the user just run this with only the post-flight option set if it fails the first time. |
Yes ok that makes sense, but in that case maybe you could tie post_flight so it always runs when firmware is activated for example? (and pre_flight so it always runs before download?) |
I think we can hide away some of the complexity in a WebUI for example, but there's still a few things that I'm considering:
|
|
After some more discussion on the side about checking if the device booted with new firmware I propose:
|
Ok... |
Added check to see if OS version changed in post_flight |
In this first step the post-flight task will try to update the OS version of the devices.
The argument post_waittime specifies the time to wait (in seconds) before trying to gather the facts from the device(s), usually it will take around 5 - 6 minutes for an Arista switch to reboot.